Wireless and wireline telephone services typically provide point-to-point (or one-to one) service. By contrast, a group call (GC) or dispatching service can provide point-to-multipoint (or one-to-many service). These point-to-multipoint (PTM) communication systems can provide communications between a central location and multiple users of the system.
Many common communication protocols can provide dispatch services in which many users can allow another user in their group to communicate over a wireless channel to those users in a private communication group (PCG). Communication over the wireless channel can be accomplished via one of a variety of multiple access techniques which can include, but are not limited to, for example, time division multiple access (TDMA), frequency division multiple access (FDMA), and code division multiple access (CDMA). Common dispatch service applications include local police radio systems, taxicab dispatch systems, Federal Bureau of Investigation and secret service operations, and general military communication systems. For example, dispatch systems using Land Mobile Radios (LMRs) have been used in trucks, taxis, buses, and other vehicles in order to communicate information between a central dispatch center and group of members. Communications may be directed at a specific group member or to all group members simultaneously.
A group call service (GCS) may allow one user to talk to a group of users in a half-duplex or full-duplex mode. This typically allows one user of the group sole access to a dedicated channel. A GCS can be provided for quick, efficient, one-to-one or one-to-many (group) communication.
Push-to-Talk (PTT) Systems
One example of a GCS can be implemented as a wireless push-to-talk (PTT) dispatch system. PTT systems are typically used in a setting where a group of people, or members, require communications with each other in a PTM fashion. The group of people requiring communications with each other is commonly known as a “net,” each member of the net sometimes referred to as a “net member.” These systems can allow a talker to establish a radio connection to other active users in the talker's specific subscriber group. These systems may transparently dispatch the user's traffic information, such as voice and/or data, from the talker to the rest of the group or net members, who may be considered “listeners.” The operation of PTT systems is similar to a “walkie-talkie.” These PTT systems are often identified as having a “push-to-talk, release-to-listen” feature. As a result, the user does not need to go through a typical dialing and ringing sequence. Examples of push-to-talk applications can include workgroup communications, security communications, construction site communication, and localized military communications. These dispatch systems can allow for landline and wireless access to the system.
PTT services are typically half-duplex (in some cases semi-duplex). As such, only one member may typically transmit information to the other members at any given time. Members desiring to transmit to other members of the system typically send an access request by depressing a PTT button on their communication device while talking and then release it when they are done. By doing so, the user's device sends a service request which requests permission from the network to use a reverse link transmission channel. This service request triggers a radio or a server, which indicates the user's request for the “floor.” When the service request is granted, the communication channel is effectively reversed so that the talking user can send information over the same communication channel the user was previously receiving on. The talking user's voice is routed from the reverse link to telephony infrastructure and broadcast to other group or net members over the forward link. Typically, a dedicated channel can be used to transmit communications from one member to multiple other group or net members simultaneously. The dedicated channel may comprise a single channel or frequency, or a group of individual channels managed by a controller to imitate the single channel.
Each user monitors a common broadcast forward link signal. Each user can also listen to the dedicated broadcast channel to receive communications from the single member who is transmitting.
After the voice connection has been established, the talking user can talk for a while and the other users listen on the channel. If another group or net member attempts to transmit over the broadcast channel while another member is transmitting, that member will receive an audible “busy” signal indicating the channel is already taken. Likewise, if two group or net members attempt to simultaneously transmit to an idle channel, the infrastructure only assigns one of the members the resource/floor, and the other member receives the audible “busy” signal until the PTT is released, at which point voice reception occurs
Listening users may request the floor by pressing their PTT button to respond. This way the system knows which direction the signal should be traveling in. The permission to talk may be moderated by the infrastructure and the network can either reject the request or allocate the requested resources on the basis of predetermined criteria, such as the availability of resources, priority of the requesting user, etc. A user can belong to many groups at a same time. As such, the communications system should be able to select and prioritize the group the user listens to if there are multiple group communications to the user occur at the same time.
Secure Communications
Encryption of end-to-end communication is an increasingly important feature, particularly for wireless communication devices. Data networks can use cryptographic techniques to transmit data securely from one location in a network to another location in the network.
Encryption can be applied to voice as well as data. Typically, a device connected to the network encrypts data using a cipher or encryption algorithm and an encryption key. Using voice as an example, a secret encryption key can be used to encode voice on the source handset using the encryption algorithm. The encrypted voice stream can then be transmitted securely over a cellular communication system to a destination or target device. In order to decode the encrypted voice stream, the destination device must use the same secret encryption key that was used to encrypt the voice stream and apply a cipher or decryption algorithm.
In symmetric or “secret-key” type cryptographic systems, symmetric key algorithms use identical encryption and decryption keys are used to encrypt and decrypt the data. Thus, to exchange enciphered data a single key value must be shared between the originator and the recipient and protected by both parties.
In asymmetric or “public-key” type cryptographic systems, asymmetric key exchange (AKE) algorithms use separate public and private keys. Existing asymmetric key exchange algorithms include, for example, Diffie-Hellman, Rivest, Shamir, and Adelman (RSA), Digital Signature Algorithm (DSA), ElGamal, and Elliptic Curve Cryptography (ECC). In such asymmetric cryptographic systems, a single operation is used to generate the pair of public and private keys. The public key can be made publicly available and can be safely shared with everyone including the other party to a secure communication. The private key is kept secure or secret by the individual who generated the key pair. To exchange encrypted data each party to the exchange makes their public key available, and keeps their private key secret. The keys are typically different from each other, but neither key can be deduced from the other. Because the private key needs to be kept only by one party, it never needs to be transmitted over any potentially compromised networks.
Two sides of a communication session generate symmetric private keys through the exchange of public keys. The two sides agree beforehand on the exact algorithm to use, and each side then selects a random number as a private key and uses the algorithm and the random number to generate a public key. The two sides exchange public keys and then each generates a session key using their own private key and the other side's public key. Even though neither side knows the other side's private key, both sides' session keys are identical. Data enciphered by using one key of the pair may be deciphered using the other key of the pair. The originator of an exchange enciphers the data using the public key of the recipient. The recipient is then able to decipher the received data using his own private key. A third party intercepting the public keys but lacking knowledge of either private key cannot generate a session key. Therefore, data can be securely encrypted with the session key. An asymmetric key pair may remain unchanged over many sessions. Because one key pair is associated with one party, even on a large network, the total number of required keys is much smaller than in the symmetric case.
Although AKE methods are convenient compared with alternatives such as manual key loaders, they are relatively slow as a result of being computationally intensive and because of the large keys needed for good security. To avoid this speed penalty, most secure devices use AKE only to establish the public key (shared by both sides) and then revert to fast symmetric-key encryption algorithm such as DES or AES to encrypt and decrypt the traffic.
Call set-up refers to the time elapsed between pressing the send or push-to-talk button and the call connecting to a secure traffic channel. Because AKE is relatively slow on wireless devices, it noticeably delays call setup. Excessive set-up time is particularly harmful to the user experience on dispatch calls which are bursty in nature and are adversely affected by even small set-up delays.
Conventional PTT cellular services provide network enabled security over the air link between the mobile and the network. By contrast, in trunked radio dispatch systems, users are provided with pre-placed or pre-loaded keys that can be used to encrypt voice. In the context of AKE schemes applied to other wireless communication systems, such as full duplex point-to-point cellular systems, once a shared symmetric key has been used, that shared, symmetric key is typically discarded and a new shared, symmetric key is generated the next time a user wants a secure communication session.
There is a need for PTT-type systems which can enable end-to-end security for group calls between mobile PTT clients. It would be desirable to provide techniques which allow end-to-end security to be applied to ad-hoc group PTT calls where the group member list is defined and controlled by the user requesting the secure group call. In addition, it is desirable if such systems could avoid unnecessary key exchanges to reduce or eliminate call set-up delays typically associated with establishing such secure communications. Other desirable features and characteristics of the present invention will become apparent from the subsequent detailed description and the appended claims, taken in conjunction with the accompanying drawings and the foregoing technical field and background.